package main

import (
	"context"
	"fmt"
	"github.com/coreos/etcd/clientv3"
	"time"
)

func main() {
	cli, err := clientv3.New(clientv3.Config{Endpoints: []string{"localhost:2379"},
		DialTimeout: 5 * time.Second,
	})
	if err != nil {
		fmt.Println(err)
	}
	ctx := context.TODO()
	//用于读写etcd的键值对
	kv := clientv3.NewKV(cli)
	putResp, _ := kv.Put(ctx, "/user/zhanglin2", "2", clientv3.WithPrevKV())
	//获取版本信息
	fmt.Println("本次的 Revision:", putResp.Header.Revision)

	// 也可以用如下方式来获取
	putOp := clientv3.OpPut("/user/zhanglin3", "1")
	opResp, _ := kv.Do(ctx, putOp)
	fmt.Println("本次的 Revision:", opResp.Put().Header.Revision)
}
